Various electro-optical systems have been developed for reading optical indicia, such as barcodes. A barcode is a coded pattern of graphical indicia comprised of a series of bars and spaces of varying widths. In a barcode, the bars and spaces having differing light reflecting characteristics. Some of the barcodes have a one-dimensional structure in which bars and spaces are spaced apart in one direction to form a row of patterns. Examples of one-dimensional barcodes include Uniform Product Code (UPC), which is typically used in retail store sales. Some of the barcodes have a two-dimensional structure in which multiple rows of bar and space patterns are vertically stacked to form a single barcode. Examples of two-dimensional barcodes include Code 49 and PDF417.
Systems that use one or more solid-state imagers for reading and decoding barcodes are typically referred to as imaging-based barcode readers, imaging scanners, or imaging readers. A solid-state imager generally includes a plurality of photosensitive elements or pixels aligned in one or more arrays. Examples of solid-state imagers include charged coupled devices (CCD) or complementary metal oxide semiconductor (CMOS) imaging chips.
FIG. 1A and FIG. 1B depict an imaging slot scanner 50 in accordance with some embodiments. The imaging slot scanner 50 has a window 56 and a housing 58. The imaging slot scanner 50 is typically a portable reader that has a base for supporting itself on a flat surface 30, such as, a countertop. The window 56 generally faces an operator at the workstation. As shown in FIG. 1A, the operator can slide or swipe the product 40 past the window 56 from right to left, or from left to right, in a “swipe” mode, to let an image of the barcode 40 on the product 42 be captured by the imaging slot scanner 50. Alternatively, the operator can present the barcode 40 on the product 42 to the center of the window 56 in a “presentation” mode. The choice depends on operator preference or on the layout of the workstation. In both the “swipe” mode and the “presentation” mode, the barcode 40 on the product 42 may not always face directly towards the window 56. But, even if the barcode 40 is rotated such that its orientation is not directly facing the window 56, the barcode 40 can still be successfully decoded by the imaging slot scanner 50, as long as the orientation of the barcode 40 relative to the window 56 is within certain range of orientations. It is generally desirable to increase this range of orientations within which the barcode 40 can be successfully decoded.